package io.renren.modules.bug.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;
import io.renren.modules.bug.entity.BugEntity;
import io.renren.modules.bug.vo.BugResVo;
import io.renren.modules.bug.vo.BugVo;
import io.renren.modules.bug.vo.ExportBugReqVo;
import io.renren.modules.bug.vo.ExportBugVo;


import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2023-07-29 17:21:53
 */
public interface BugService extends IService<BugEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 新建或修改缺陷
     * @param bugVo
     */
    void saveOrUpdate(BugVo bugVo);

    /**
     * 分页复合查询bug信息
     * @param params
     * @param status
     * @param productId
     * @param moduleId
     * @return
     */
    PageUtils compoundQueryBugInfoPage(Map<String, Object> params, Integer status, Long productId, Long moduleId);

    /**
     * 修改bug状态
     * @param bugId
     * @param status
     */
    void updateStatus(Long bugId, Integer status);

    /**
     * 删除缺陷
     * @param bugId
     */
    void deleteById(Long bugId);

    /**
     * 回显缺陷信息
     * @param bugId
     * @return
     */
    BugResVo infoById(Long bugId,Long rmbId);

    /**
     * 导出Excel
     * @param exportBugReqVo
     */
    List<ExportBugVo> exportExcelInfo(ExportBugReqVo exportBugReqVo);

//    /**
//     * 导出功能选择的回显信息
//     * @param testId
//     * @return
//     */
//    List<ExportBugReqVo> getExportInfo(Long testId);
}

